Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Oct 12, 2025

This PR contains the following updates:

Package Change Age Confidence
@typescript-eslint/eslint-plugin (source) ^6.1.0 -> ^8.0.0 age confidence
@typescript-eslint/parser (source) ^6.1.0 -> ^8.0.0 age confidence
css-loader ^6.7.1 -> ^7.0.0 age confidence
eslint (source) ^8.36.0 -> ^9.0.0 age confidence
eslint-config-prettier ^8.8.0 -> ^10.0.0 age confidence
jest (source) ^29.2.0 -> ^30.0.0 age confidence
mkdirp ^1.0.3 -> ^3.0.0 age confidence
npm-run-all2 ^7.0.1 -> ^8.0.0 age confidence
rimraf ^5.0.1 -> ^6.0.0 age confidence
source-map-loader ^1.0.2 -> ^5.0.0 age confidence
style-loader ^3.3.1 -> ^4.0.0 age confidence
stylelint (source) ^15.10.1 -> ^16.0.0 age confidence
stylelint-config-recommended ^13.0.0 -> ^17.0.0 age confidence
stylelint-config-standard ^34.0.0 -> ^39.0.0 age confidence
stylelint-prettier ^4.0.0 -> ^5.0.0 age confidence

Release Notes

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v8.46.2

Compare Source

🩹 Fixes
  • eslint-plugin: [prefer-optional-chain] skip optional chaining when it could change the result (#​11702)
❤️ Thank You
  • mdm317

You can read about our versioning strategy and releases on our website.

v8.46.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-misused-promises] special-case .finally not to report when a promise returning function is provided as an argument (#​11667)
  • eslint-plugin: [prefer-optional-chain] include mixed "nullish comparison style" chains in checks (#​11533)
❤️ Thank You
  • mdm317
  • Ronen Amiel

You can read about our versioning strategy and releases on our website.

v8.46.0

Compare Source

🚀 Features
  • eslint-plugin: [no-unsafe-member-access] add allowOptionalChaining option (#​11659)
  • rule-schema-to-typescript-types: clean up and make public (#​11633)
🩹 Fixes
  • eslint-plugin: [prefer-readonly-parameter-types] ignore tagged primitives (#​11660)
  • typescript-estree: forbid abstract method and accessor to have implementation (#​11657)
  • eslint-plugin: removed error type previously deprecated (#​11674)
  • eslint-plugin: [no-deprecated] ignore deprecated export imports (#​11603)
  • eslint-plugin: [unbound-method] improve wording around this: void and binding (#​11634)
  • rule-tester: deprecate TestCaseError#type and LintMessage#nodeType (#​11628)
  • eslint-plugin: [no-floating-promises] remove excess parentheses in suggestions (#​11487)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.45.0

Compare Source

🚀 Features
  • eslint-plugin: expose rule name via RuleModule interface (#​11616)
🩹 Fixes
  • eslint-plugin: [prefer-nullish-coalescing] ignoreBooleanCoercion should not apply to top-level ternary expressions (#​11614)
  • eslint-plugin: [no-base-to-string] check if superclass is ignored (#​11617)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.44.1

Compare Source

🩹 Fixes
  • eslint-plugin: [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (#​11611)
  • eslint-plugin: [no-unsafe-enum-comparison] support unions of literals (#​11599)
  • eslint-plugin: [no-base-to-string] make ignoredTypeNames match type names without generics (#​11597)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.44.0

Compare Source

🚀 Features
  • eslint-plugin: [await-thenable] report invalid (non-promise) values passed to promise aggregator methods (#​11267)
🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-conversion] ignore enum members (#​11490)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.43.0

Compare Source

🚀 Features
  • typescript-estree: disallow empty type parameter/argument lists (#​11563)
🩹 Fixes
  • eslint-plugin: [prefer-return-this-type] don't report an error when returning a union type that includes a classType (#​11432)
  • eslint-plugin: [no-deprecated] should report deprecated exports and reexports (#​11359)
  • eslint-plugin: [no-floating-promises] allowForKnownSafeCalls now supports function names (#​11423, #​11430)
  • eslint-plugin: [consistent-type-exports] fix declaration shadowing (#​11457)
  • eslint-plugin: [no-unnecessary-type-conversion] only report ~~ on integer literal types (#​11517)
  • scope-manager: exclude Program from DefinitionBase node types (#​11469)
  • eslint-plugin: [no-non-null-assertion] do not suggest optional chain on LHS of assignment (#​11489)
  • type-utils: add union type support to TypeOrValueSpecifier (#​11526)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.42.0

Compare Source

🩹 Fixes
  • deps: update eslint monorepo to v9.33.0 (#​11482)

You can read about our versioning strategy and releases on our website.

v8.41.0

Compare Source

🩹 Fixes
  • deps: update dependency prettier to v3.6.2 (#​11496)

You can read about our versioning strategy and releases on our website.

v8.40.0

Compare Source

🚀 Features
  • typescript-estree: forbid invalid keys in EnumMember (#​11232)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.39.1

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.39.0

Compare Source

🚀 Features
  • eslint-plugin: [only-throw-error] support yield/await expressions (#​11417)
  • eslint-plugin: add no-unnecessary-type-conversion to strict-type-checked ruleset (#​11427)
  • update to TypeScript 5.9.2 (#​11445)
  • eslint-plugin: [naming-convention] add enumMember PascalCase default option (#​11127)
🩹 Fixes
  • eslint-plugin: [no-unsafe-assignment] add an unsafeObjectPattern message (#​11403)
  • eslint-plugin: [prefer-optional-chain] ignore check option for most RHS of a chain (#​11272)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.38.0

Compare Source

🩹 Fixes
  • disallow extra properties in rule options (#​11397)
  • eslint-plugin: [consistent-generic-constructors] resolve conflict with isolatedDeclarations if enabled in constructor option (#​11351)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.37.0

Compare Source

🩹 Fixes
  • eslint-plugin: [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (#​11381)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.36.0

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.35.1

Compare Source

🩹 Fixes
  • remove prettier from eslint-plugin (#​11339)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.35.0

Compare Source

🚀 Features
  • eslint-plugin: [no-base-to-string] add checkUnknown Option (#​11128)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.34.1

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.34.0

Compare Source

🩹 Fixes
  • typescript-estree: add validation to interface extends (#​11271)
❤️ Thank You
  • Tao

You can read about our versioning strategy and releases on our website.

v8.33.1

Compare Source

🩹 Fixes
  • exclude docs/ directory from eslint-plugin package (#​11251)
❤️ Thank You
  • roottool

You can read about our versioning strategy and releases on our website.

v8.33.0

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.32.1

Compare Source

🩹 Fixes
  • eslint-plugin: [consistent-indexed-object-style] check for indirect circular types in aliased mapped types (#​11177)
  • eslint-plugin: [consistent-indexed-object-style] adjust auto-fixer to generate valid syntax for TSMappedType with no type annotation (#​11180)
  • eslint-plugin: [no-deprecated] support computed member access (#​10867)
  • eslint-plugin: [no-unnecessary-type-conversion] shouldn't have fixable property (#​11194)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.32.0

Compare Source

🚀 Features
  • eslint-plugin: [only-throw-error] add option allowRethrowing (#​11075)
  • eslint-plugin: [no-unnecessary-type-conversion] add rule (#​10182)
🩹 Fixes
  • eslint-plugin: [prefer-nullish-coalescing] fix parenthesization bug in suggestion (#​11098)
  • eslint-plugin: [unified-signatures] exempt this from optional parameter overload check (#​11005)
  • eslint-plugin: [no-unnecessary-type-parameters] should parenthesize type in suggestion fixer if necessary (#​10907)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.31.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-condition] downgrade fix to suggestion (#​11081)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.31.0

Compare Source

🚀 Features
  • eslint-plugin: [no-unnecessary-type-assertion] add option to ignore string const assertions (#​10979)
❤️ Thank You
  • Nicolas Le Cam

You can read about our versioning strategy and releases on our website.

v8.30.1

Compare Source

🩹 Fixes
  • eslint-plugin: fix mistake with eslintrc config generation (#​11072)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.30.0

Compare Source

🚀 Features
  • eslint-plugin: [no-explicit-any] suggest to replace keyof any with PropertyKey (#​11032)
🩹 Fixes
  • eslint-plugin: [promise-function-async] use a different error message for functions with promise and non-promise types (#​10950)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.29.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-deprecated] report on deprecated imported variable used as property (#​10998)
❤️ Thank You
  • Ronen Amiel

You can read about our versioning strategy and releases on our website.

v8.29.0

Compare Source

🚀 Features
  • eslint-plugin: [prefer-nullish-coalescing] create ignoreIfStatements option (#​11000)
🩹 Fixes
  • eslint-plugin: [no-array-constructor] remove optional chaining exemption (#​10963)
  • eslint-plugin: support arbitrary extensions in definition files (#​10957)
  • eslint-plugin: [prefer-for-of] fix false positive when using erasable type syntax within update expressions (#​10981)
  • eslint-plugin: [use-unknown-in-catch-callback-variable] remove fixable property (#​10993)
  • eslint-plugin: [no-unnecessary-condition] don't report on unnecessary optional array index access when noUncheckedIndexedAccess is enabled (#​10961)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.28.0

Compare Source

🚀 Features
  • eslint-plugin: [prefer-nullish-coalescing] support if statement assignment (??=) and fix several minor bugs (#​10861)
🩹 Fixes
  • eslint-plugin: [no-unsafe-function-type] remove fixable property (#​10986)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.27.0

Compare Source

🚀 Features
  • utils: support DeprecatedInfo for rule.meta.deprecated (#​10932)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.26.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unsafe-return] handle recursive type (#​10883)
  • eslint-plugin: [prefer-nullish-coalescing] treat any/unknown as eligible for nullish coalescing (#​10865)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.26.0

Compare Source

🚀 Features
  • eslint-plugin: [unified-signatures] support ignoring overload signatures with different JSDoc comments (#​10781)
  • eslint-plugin: [explicit-module-boundary-types] add an option to ignore overload implementations (#​10889)
  • eslint-plugin: [no-unused-var] handle implicit exports in declaration files (#​10714)
  • support TypeScript 5.8 (#​10903)
  • eslint-plugin: [no-unnecessary-type-parameters] special case tuples and parameter location arrays as single-use (#​9536)
🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] handle unknown (#​10875)
  • eslint-plugin: [no-invalid-void-type] report accessor properties with an invalid void type (#​10864)
  • eslint-plugin: [unified-signatures] does not differentiate truly private methods (#​10806)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.25.0

Compare Source

🚀 Features
  • eslint-plugin: [no-misused-spread] add suggestions (#​10719)
🩹 Fixes
  • eslint-plugin: [prefer-nullish-coalescing] report on chain expressions in a ternary (#​10708)
  • eslint-plugin: [no-deprecated] report usage of deprecated private identifiers (#​10844)
  • eslint-plugin: [unified-signatures] handle getter-setter (#​10818)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.24.1

Compare Source

🩹 Fixes
  • eslint-plugin: [class-methods-use-this] check accessor methods with a function initializer (#​10796)
  • eslint-plugin: [no-misused-promises] don't report on static accessor properties (#​10814)
  • eslint-plugin: [no-deprecated] don't report on deprecated accessor property declaration (#​10813)
  • eslint-plugin: [explicit-member-accessibility] check accessor class properties for missing accessibility modifier (#​10805)
  • eslint-plugin: [explicit-module-boundary-types] check accessor class properties with a function initializer (#​10804)
  • eslint-plugin: [prefer-return-this-type] check accessor properties with a function initializer (#​10794)
  • eslint-plugin: [consistent-generic-constructors] check accessor class properties (#​10789)
  • eslint-plugin: [no-unsafe-assignment] report on an any value assigned as an initializer of an accessor property (#​10785)
  • eslint-plugin: [no-unnecessary-template-expression] ignore enum and enum members (#​10782)
  • eslint-plugin: [no-inferrable-types] handle accessor (#​10780)
❤️ Thank You
  • Ronen Amiel
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v8.24.0

Compare Source

🚀 Features
  • eslint-plugin: [no-unnecessary-condition] make allowConstantLoopConditions more granular (#​10639)
🩹 Fixes
  • eslint-plugin: [no-misused-spread] correct and elaborate string spread report message (#​10751)
  • eslint-plugin: [restrict-plus-operands] report adding bigints to strings when allowNumberAndString is false (#​10737)
❤️ Thank You
  • Josh Goldberg ✨
  • noah
  • Ronen Amiel

You can read about our versioning strategy and releases on our website.

v8.23.0

Compare Source

🚀 Features
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] enforce strictNullChecks (#​10712)
🩹 Fixes
  • eslint-plugin: [no-shadow] ignore declare variables in definition files shadowing global variables (#​10710)
  • eslint-plugin: [no-restricted-imports] support regex option (#​10699)
  • eslint-plugin: [dot-notation] handle noPropertyAccessFromIndexSignature true (#​10644)
  • eslint-plugin: [prefer-nullish-coalescing] fix missing return (#​10732)
  • bump ts-api-utils to ^2.0.1 (#​10761)
  • eslint-plugin: [no-unnecessary-template-expression] allow interpolating type parameter in type context (#​10739)
  • eslint-plugin: [switch-exhaustiveness-check] suggest with qualified name (#​10697)
  • eslint-plugin: [no-unnecessary-type-assertion] should report readonly class properties with a literal initializer (#​10618)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.22.0

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-template-expression] handle template literal type (#​10612)
  • eslint-plugin: [prefer-readonly] autofixer doesn't add type to property that is mutated in the constructor (#​10552)
  • eslint-plugin: [no-extraneous-class] handle accessor keyword (#​10678)
  • eslint-plugin: [no-shadow] don't report unnecessarily on valid ways of using module augmentation (#​10616)
  • eslint-plugin: [no-duplicate-type-constituents] handle nested types (#​10638)
  • eslint-plugin: [prefer-nullish-coalescing] doesn't report on ternary but on equivalent || (#​10517)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.21.0

Compare Source

🩹 Fixes
  • eslint-plugin: [no-duplicate-enum-values] handle template literal (#​10675)
  • eslint-plugin: [no-base-to-string] don't crash for recursive array or tuple types (#​10633)
  • eslint-plugin: [no-for-in-array] report on any type which may be an array or array-like (#​10535)
  • eslint-plugin: check JSX spread elements for misused spread usage (#​10653)
  • eslint-plugin: [no-unnecessary-type-arguments] handle type args on jsx (#​10630)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.20.0

Compare Source

🚀 Features
  • eslint-plugin: [consistent-type-assertions] add arrayLiteralTypeAssertions options (#​10565)
  • eslint-plugin: [no-deprecated] add allow options (#​10585)
  • eslint-plugin: [no-misused-spread] add new rule (#​10551)
🩹 Fixes
  • eslint-plugin: [no-unnecessary-condition] don't flag optional chaining for union types with an unconstrained type parameters (#​10602)
  • eslint-plugin: [no-shadow] ignore ordering of type declarations (#​10593)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.19.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] handle literal types (#​10523)
  • eslint-plugin: [no-deprecated] doesn't report on shorthand property in an object expression (#​10550)
  • eslint-plugin: [strict-boolean-expressions] remove remaining (unsafe) autofixes (#​10548)
  • eslint-plugin: [no-shadow] report correctly on parameters of functions declared with the declare keyword (#​10543)
  • eslint-plugin: [no-base-to-string] check array generic type (#​10437)
❤️ Thank You
  • Kirk Waiblinger
  • mdm317
  • Ronen Amiel
  • Yukihiro Hasegawa @​y-hsgw

You can read about our versioning strategy and releases on our website.

v8.19.0

Compare Source

🚀 Features
  • eslint-plugin: [strict-boolean-expressions] check array predicate functions' return statements (#​10106)
🩹 Fixes
  • eslint-plugin: [member-ordering] ignore method overloading (#​10536)
  • eslint-plugin: [consistent-indexed-object-style] don't report on indirect circular references (#​10537)
  • eslint-plugin: [array-type] autofix with conditional types needs parentheses (#​10522)
  • eslint-plugin: add getConstraintInfo to handle generic constraints better (#​10496)
❤️ Thank You

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versionin


Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Author

renovate bot commented Oct 12, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: yarn.lock
error Error: https://npm.pkg.github.com/@deepnote%2fblocks: authentication token not provided
    at params.callback [as _callback] (/opt/containerbase/tools/yarn/1.22.22/24.11.0/node_modules/yarn/lib/cli.js:66680:18)
    at self.callback (/opt/containerbase/tools/yarn/1.22.22/24.11.0/node_modules/yarn/lib/cli.js:141410:22)
    at Request.emit (node:events:508:28)
    at Request.<anonymous> (/opt/containerbase/tools/yarn/1.22.22/24.11.0/node_modules/yarn/lib/cli.js:142382:10)
    at Request.emit (node:events:508:28)
    at IncomingMessage.<anonymous> (/opt/containerbase/tools/yarn/1.22.22/24.11.0/node_modules/yarn/lib/cli.js:142304:12)
    at Object.onceWrapper (node:events:622:28)
    at IncomingMessage.emit (node:events:520:35)
    at endReadableNT (node:internal/streams/readable:1701:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 12, 2025

📝 Walkthrough

Walkthrough

DevDependencies in package.json were bumped to new major versions: @typescript-eslint/eslint-plugin and @typescript-eslint/parser → ^8.x, css-loader → ^7.x, eslint → ^9.x, eslint-config-prettier → ^10.x, jest → ^30.x, mkdirp → ^3.x, npm-run-all2 → ^8.x, rimraf → ^6.x, source-map-loader → ^5.x, style-loader → ^4.x, stylelint → ^16.x and related stylelint packages (config-recommended → ^17.x, config-standard → ^39.x, stylelint-prettier → ^5.x). Public API and exported signatures remain unchanged.

Possibly related PRs

Suggested reviewers

  • Artmann
  • andyjakubowski
  • saltenasl
  • jamesbhobbs
  • dinohamzic

Pre-merge checks

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The PR title "chore(deps): update devdependencies (major)" directly and accurately describes the changeset. The pull request exclusively contains major version updates to development dependencies, and the title clearly conveys this with appropriate specificity (indicating major versions) and conventional commit format. The title is concise, avoids vague language, and would allow a reviewer scanning history to immediately understand the change's purpose.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch from f5765f3 to a6fb720 Compare October 14, 2025 14:58
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f5765f3 and a6fb720.

📒 Files selected for processing (1)
  • package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: check_release

Comment on lines 86 to 91
"jest": "^30.0.0",
"mkdirp": "^3.0.0",
"npm-run-all2": "^8.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Align @types/jest with Jest 30

Jest is now ^30.0.0, but @types/jest stays on the 29.x line; TypeScript builds will pick up the 29.x typings and mis-declare globals. Bump the types package in lockstep with Jest (or remove it if you rely on the bundled types).

-        "@types/jest": "^29.2.0",
+        "@types/jest": "^30.0.0",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"jest": "^30.0.0",
"mkdirp": "^3.0.0",
"npm-run-all2": "^8.0.0",
"jest": "^30.0.0",
"@types/jest": "^30.0.0",
"mkdirp": "^3.0.0",
"npm-run-all2": "^8.0.0",
🤖 Prompt for AI Agents
In package.json around lines 86 to 88, @types/jest is still on the 29.x line
while jest is ^30.0.0 causing TypeScript to pick up mismatching globals; update
the @types/jest devDependency to the matching 30.x version (or remove the
explicit @types/jest dependency if you want to use Jest's bundled types), then
reinstall and regenerate the lockfile (npm install / yarn install) so the
lockfile reflects the change.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 4 times, most recently from a255dc2 to ea90776 Compare October 15, 2025 09:01
@codecov
Copy link

codecov bot commented Oct 15, 2025

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 3 times, most recently from f80a467 to 62e7655 Compare October 15, 2025 18:35
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
package.json (1)

14-18: Declare Node/NPM engines to prevent accidental Node 16 installs

Add engines reflecting the new toolchain’s minimums.

   "license": "BSD-3-Clause",
+  "engines": {
+    "node": ">=18.18",
+    "npm": ">=9"
+  },
   "author": {
♻️ Duplicate comments (1)
package.json (1)

88-88: Align @types/jest with Jest 30 (or drop it if unneeded)

Jest is ^30.0.0 while @types/jest remains ^29.x. Update to 30.x or remove if relying on bundled types.

-        "@types/jest": "^29.2.0",
+        "@types/jest": "^30.0.0",

Optionally verify whether Jest 30 bundles TS types:

Does Jest 30 bundle TypeScript types, making @types/jest unnecessary?

Also applies to: 76-76

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f80a467 and 62e7655.

📒 Files selected for processing (1)
  • package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: check_release
🔇 Additional comments (1)
package.json (1)

83-96: Verify Webpack/Node compatibility for loader/tooling majors

css-loader 7, style-loader 4, source-map-loader 5, rimraf 6, stylelint 16, husky 9 generally require Node >=18 and Webpack 5. Ensure:

  • Your dev environment uses Node >=18 (CI and local).
  • @jupyterlab/builder version used resolves to Webpack 5 compatible with these loaders.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 2 times, most recently from b5d85aa to bac4687 Compare October 16, 2025 14:57
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
package.json (1)

76-88: Keep Jest types in lockstep with Jest 30

@types/jest is still ^29.2.0 while jest is ^30.0.0. TypeScript will load the 29.x globals and diverge from Jest 30’s API. Please bump @types/jest to 30.x (or drop it if relying on Jest’s bundled types).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b5d85aa and bac4687.

📒 Files selected for processing (1)
  • package.json (1 hunks)

Comment on lines +84 to +85
"eslint": "^9.0.0",
"eslint-config-prettier": "^10.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

ESLint 9 breaks with legacy package.json config

ESLint v9 only reads flat configs; with the current "eslintConfig"/"eslintIgnore" blocks, eslint . now runs with defaults and misses all project rules. Either migrate to eslint.config.js (flat configs, move ignores there) or stay on ESLint 8.x for now.

Also applies to: 133-182

🤖 Prompt for AI Agents
package.json lines 84-85 (and also lines 133-182) currently use the legacy
"eslintConfig"/"eslintIgnore" fields which ESLint v9 no longer supports; to fix,
either pin ESLint to the latest 8.x in package.json devDependencies (change
"eslint": "^9.0.0" to a compatible 8.x version and adjust lockfile) OR migrate
to the new flat config by adding an eslint.config.js at the project root
(convert existing settings from package.json "eslintConfig" into the flat config
format, move ignore patterns into an .eslintignore or into the new flat config
via overrides/ignores) and update any npm scripts that call eslint if needed;
apply the chosen approach consistently to the other package.json sections
referenced (lines 133-182).

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch from ace3d5f to b8aec01 Compare October 17, 2025 08:26
@coderabbitai coderabbitai bot mentioned this pull request Oct 20, 2025
3 tasks
@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 5 times, most recently from 180ddd9 to 5df1001 Compare October 23, 2025 12:50
@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch from 63778b3 to c39c6f8 Compare October 27, 2025 14:55
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
package.json (1)

76-76: Align @types/jest with Jest 30.

Jest is now ^30.0.0 but @types/jest remains ^29.2.0. TypeScript will pick up mismatched typings.

Apply this diff:

-        "@types/jest": "^29.2.0",
+        "@types/jest": "^30.0.0",

Then reinstall and regenerate lockfile.

This was flagged in prior reviews and remains unresolved.

Also applies to: 88-88

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b6b99a1 and c39c6f8.

📒 Files selected for processing (1)
  • package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: check_release

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 2 times, most recently from 10f8763 to d8ab73f Compare October 27, 2025 16:27
@renovate renovate bot requested a review from a team as a code owner October 27, 2025 16:27
@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 4 times, most recently from 6316af6 to 4690d7c Compare October 28, 2025 13:31
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
package.json (2)

76-76: Jest types mismatch—TypeScript globals will be incorrect.

@types/jest is still ^29.2.0 (line 76) but jest is now ^30.0.0 (line 88). TypeScript will pick up mismatched type definitions for Jest globals.

Before merge:

  • Bump @types/jest to ^30.0.0 to match jest, OR
  • Pin jest back to ^29.x and update this PR

Apply this diff to sync the versions:

-        "@types/jest": "^29.2.0",
+        "@types/jest": "^30.0.0",

Also applies to: 88-88


84-84: ⛔ ESLint 9 + legacy config still unresolved—linting will break.

Prior review flagged that ESLint v9 ignores package.json's eslintConfig/eslintIgnore blocks (lines 133–142). No eslint.config.js has been created, and linting will use only defaults.

Before merge, choose one:

  • Create eslint.config.js at repo root with flat config format and migrate the rules/ignores from lines 133–185
  • OR pin ESLint back to ^8.57.0 and revert this change
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6316af6 and 4690d7c.

📒 Files selected for processing (1)
  • package.json (1 hunks)

Comment on lines +81 to +100
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"css-loader": "^7.0.0",
"eslint": "^9.0.0",
"eslint-config-prettier": "^10.0.0",
"eslint-plugin-prettier": "^5.0.0",
"husky": "9.1.7",
"jest": "^29.2.0",
"jest": "^30.0.0",
"lint-staged": "16.2.3",
"mkdirp": "^1.0.3",
"npm-run-all2": "^7.0.1",
"mkdirp": "^3.0.0",
"npm-run-all2": "^8.0.0",
"prettier": "^3.0.0",
"rimraf": "^5.0.1",
"source-map-loader": "^1.0.2",
"style-loader": "^3.3.1",
"stylelint": "^15.10.1",
"stylelint-config-recommended": "^13.0.0",
"stylelint-config-standard": "^34.0.0",
"rimraf": "^6.0.0",
"source-map-loader": "^5.0.0",
"style-loader": "^4.0.0",
"stylelint": "^16.0.0",
"stylelint-config-recommended": "^17.0.0",
"stylelint-config-standard": "^39.0.0",
"stylelint-csstree-validator": "^3.0.0",
"stylelint-prettier": "^4.0.0",
"stylelint-prettier": "^5.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Lockfile must be regenerated after major version bumps.

Fifteen packages jumped majors (source-map-loader 1→5, mkdirp 1→3, @typescript-eslint 6→8, stylelint 15→16, etc.). No lockfile changes detected in this PR.

Required before merge:

  1. Run yarn install (or npm install) to regenerate yarn.lock/package-lock.json
  2. Run full CI locally: yarn clean:all && yarn install && yarn build && yarn lint && yarn test
  3. Commit updated lockfile and fix any breaking changes
  4. Verify no transitive dependency incompatibilities surface

Please confirm:

  • Lockfile was regenerated and committed
  • Full CI pipeline passes locally
  • Any breaking changes from major upgrades have been resolved

Generate a script to verify lockfile was updated:


🏁 Script executed:

#!/bin/bash
# Check if lockfile was modified in the last commit
echo "=== Checking if lockfile was regenerated ==="
git diff --name-only HEAD~1 | grep -E 'yarn\.lock|package-lock\.json' && echo "✓ Lockfile updated" || echo "✗ Lockfile NOT updated"

# Show the last few lines of the changed lockfile
echo -e "\n=== Recent lockfile changes (last 20 lines) ==="
git diff HEAD~1 yarn.lock 2>/dev/null | tail -20 || git diff HEAD~1 package-lock.json 2>/dev/null | tail -20 || echo "No lockfile diff found"

Length of output: 116


Lockfile not regenerated—blocking merge.

Verification confirms lockfile (yarn.lock/package-lock.json) was not updated despite 15 major version bumps. Regenerate lockfile and test:

yarn install && yarn clean:all && yarn install && yarn build && yarn lint && yarn test

Commit the updated lockfile before proceeding.

🤖 Prompt for AI Agents
In package.json around lines 81–100 the dependency versions were bumped but the
lockfile was not regenerated; run the project's package manager to update the
lockfile (e.g., yarn install or npm install depending on repo), run the full
verification sequence provided (yarn install && yarn clean:all && yarn install
&& yarn build && yarn lint && yarn test), resolve any resulting
install/build/lint/test errors, and commit the updated lockfile (yarn.lock or
package-lock.json) alongside the change before merging.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 6 times, most recently from f9dcbf3 to 2e2aef2 Compare October 28, 2025 15:56
@jamesbhobbs jamesbhobbs marked this pull request as draft October 28, 2025 19:05
@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 8 times, most recently from 9895b42 to 4ddc478 Compare October 31, 2025 12:28
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
package.json (1)

76-76: Sync @types/jest with Jest 30.

@types/jest is ^29.2.0 but jest is now ^30.0.0—TypeScript will see mismatched globals and type definitions. Bump @types/jest to ^30.0.0:

-        "@types/jest": "^29.2.0",
+        "@types/jest": "^30.0.0",

Also applies to: 88-88

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 9895b42 and 4ddc478.

📒 Files selected for processing (1)
  • package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: check_release
🔇 Additional comments (1)
package.json (1)

81-100: Lockfile already regenerated—review premise incorrect.

The yarn.lock file exists and is in a clean state (working tree clean per git status), meaning package.json changes have already been followed by lockfile regeneration. While the 15 major version bumps are real (source-map-loader 1→5, @typescript-eslint 6→8, stylelint 15→16, eslint-config-prettier 8→10, etc.), the blocking condition cited in the review no longer applies. No further action needed on lockfile regeneration.

Likely an incorrect or invalid review comment.

"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"css-loader": "^7.0.0",
"eslint": "^9.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

ESLint 9 migration requires flat config—linting will break.

ESLint v9 removed support for package.json eslintConfig/eslintIgnore blocks. Your current config (lines 133–142) will be ignored; linting falls back to defaults.

Choose one:

  • Option A (preferred): Create eslint.config.js at repo root with flat config format. Migrate rules and ignores there, then remove legacy blocks from package.json.
  • Option B: Downgrade to "eslint": "^8.57.0" and keep legacy config.

This must be resolved before merge.

Also applies to: 133-142

🤖 Prompt for AI Agents
package.json around line 84 (and legacy eslint blocks at lines 133–142): ESLint
v9 dropped package.json eslintConfig/eslintIgnore support so your current config
will be ignored; fix by either (A) creating an eslint.config.js at repo root
using the new flat config format, migrating all rules, parser/options, plugins
and ignore patterns from package.json to that file, remove the legacy
eslintConfig and eslintIgnore entries from package.json, and validate by running
eslint --print-config or a lint run; or (B) pin eslint back to a v8 release
(e.g. "eslint": "^8.57.0") in package.json to retain the legacy package.json
config — choose A (preferred) and remove the old blocks after migration.

@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch 2 times, most recently from e35a909 to b126b8b Compare October 31, 2025 14:01
@renovate renovate bot force-pushed the renovate/major-dev-dependencies branch from b126b8b to 7c04b17 Compare November 2, 2025 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant